package com.deng.Service;

import com.deng.model.Column;
import com.deng.model.Paper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @Author 邓小熙
 * @Date 2022/5/13 1:51
 * @Version 1.0
 */
public interface ColumnService {
    /**
     * 通过文章数量来推荐专题
     * 专题内文章由多到少排序
     * @return
     */
    List<Column> findColumnByPaperCount();
    /**
     * 查询所有主题
     * @param search
     * @param pageNum
     * @return
     */
    PageInfo<Column> findAllColumnSearch(String search, int pageNum);
    /**
     * 通过paper的id查询所属的column
     * @param id paperid
     * @return column
     */
    Column findColumnByPaperId(int id);

    int updateColumnByPaperId(int paperId, String title);
    /**
     *
     * @param page 页
     * @return
     */
    Map<String,Object> allColumn(String page);
    /**
     *
     * @param name 名称
     * @param image 图片名称
     * @return
     */
    int insertInlet(String name,String image);
    /**
     * 通过ID删除专题
     * @param id
     * @return
     */
    int deleteColumnById(int id);
    /**
     * 编辑专题(先通过ID查找专题)
     * @param id
     * @return
     */
    Column selectColumnById(int id);
    /**
     * 编辑专题
     * @param id
     * @return
     */
    int updateInlet(String name, String image, String id);

    Set<String> findAllColumn();

    int findColumnId(String title);
    /**
     * 为paper添加主题
     * @param columnId
     * @param paperId
     * @return
     */
    int insertColumnPaper(int columnId, int paperId);

    PageInfo<Paper> findPapersWithColumnId(int id, int pageNum);
}
